/** 蓝牙状态 */
export interface AvailableState {
  /** 蓝牙是否可用 */
  available: boolean;
  /** 是否正在扫描设备 */
  discovering: boolean;
}

/** 血压计设备型号 */
export const BPMODEL = ['LS818-B'];

/** 设备信息 */
export interface DeviceInfo {
  /** 产品名称 */
  proName?: string;
  /** 蓝牙设备名称，某些设备可能没有 */
  name?: string;
  /** 设当前蓝牙设备的广播数据段中的 LocalName 数据段 */
  localName?: string;
  /**	用于区分设备的id，安卓为mac地址，IOS为系统分配的唯一ID */
  deviceId: string;
  /**	当前蓝牙设备的信号强度 */
  RSSI: number;
  /**	当前蓝牙设备的广播数据段中的 ServiceData 数据段 */
  serviceData?: string;
  mac?: string;
  /** 电量 */
  battery?: number;
  /** 乐心id，只有乐心的设备才有 */
  lzDeviceId?: string;
  /** 厂商  */
  manufacture?: string;
  /** 型号 */
  model?: string;
  /** 软件版本 */
  softwareVersion?: string;
  /** 硬件版本 */
  hardwareVersion?: string;
  /** 固件版本 */
  firmwareVersion?: string;
  /** 协议名称 */
  protoName?: string;
  sn?: string;
  /** 连接状态 */
  connectStatus?: number;
}

/** 绑定设备 */
export interface BindDeviceProps {
  mac: string;
  callback: (res: BindDeviceCallback) => void;
}
/** 绑定设备回调 */
interface BindDeviceCallback {
  mac: string;
  bindState: number;
  deviceInfo: DeviceInfo;
}

/** 血压计数据 */
export interface BPData {
  /** 剩余测量数据条数 */
  remainCount: number;
  /** 0=mmkg,1=Kpa (kpa目前没有使用) */
  unit: number;
  /** 高压 */
  systolic: number;
  /** 低压 */
  diastolic: number;
  /** 平均值 */
  meanPressure: number;
  /** 心率 */
  pulseRate: number;
  /** UTC时间 */
  utc: number;
  /** 电阻值 */
  resistance: number;
  /** 按钮编号 */
  userId: number;
  /** 时区 （缺失，使用当前系统的时区 */
  timeZone?: number;
  /** 测量时间 */
  timeStamp?: number;
  /** 体动数据 */
  bodyMovementDetection: boolean;
  /** 袖带检测数据 */
  cuffFitDetection?: boolean;
  /** 心率不齐信息 */
  irregularPulseDetection: boolean;
  /** 心率超量程 */
  pulseOut: boolean;
  /** 固定值为 bloodpressure */
  dataType: string;
}
